package com.example.springbootdemo.mall.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.math.BigDecimal;
import java.util.Date;

/**
 *@author xuwangqi
 *@date 2021/5/24 9:28
 **/
/**
    * 优惠券使用、领取历史表
    */
@ApiModel(value="com-example-springbootdemo-entity-CouponHistory")
@TableName(value = "coupon_history")
public class CouponHistory {
    @TableId(value = "id", type = IdType.AUTO)
    @ApiModelProperty(value="")
    private Long id;

    @TableField(value = "coupon_id")
    @ApiModelProperty(value="")
    private Long couponId;

    @TableField(value = "user_id")
    @ApiModelProperty(value="")
    private Long userId;

    /**
     * 优惠码
     */
    @TableField(value = "coupon_code")
    @ApiModelProperty(value="优惠码")
    private String couponCode;

    /**
     * 领取人昵称
     */
    @TableField(value = "user_nickname")
    @ApiModelProperty(value="领取人昵称")
    private String userNickname;

    /**
     * 获取类型：0->后台赠送；1->主动获取
     */
    @TableField(value = "get_type")
    @ApiModelProperty(value="获取类型：0->后台赠送；1->主动获取")
    private Integer getType;

    /**
     * 使用状态：0->未使用；2->已使用；4->已过期
     */
    @TableField(value = "use_status")
    @ApiModelProperty(value="使用状态：0->未使用；2->已使用；4->已过期")
    private Integer useStatus;

    /**
     * 使用时间
     */
    @TableField(value = "gmt_use")
    @ApiModelProperty(value="使用时间")
    private Date gmtUse;

    /**
     * 订单编号
     */
    @TableField(value = "order_id")
    @ApiModelProperty(value="订单编号")
    private Long orderId;

    /**
     * 订单号码
     */
    @TableField(value = "order_sn")
    @ApiModelProperty(value="订单号码")
    private String orderSn;

    /**
     * 删除状态【0->未删除；1->已删除】
     */
    @TableField(value = "is_delete")
    @ApiModelProperty(value="删除状态【0->未删除；1->已删除】")
    private Byte isDelete;

    @TableField(value = "gmt_create")
    @ApiModelProperty(value="")
    private Date gmtCreate;

    @TableField(value = "gmt_modified")
    @ApiModelProperty(value="")
    private Date gmtModified;

    /**
     * 金额/折扣
     */
    @TableField(value = "amount")
    @ApiModelProperty(value="金额/折扣")
    private BigDecimal amount;

    /**
     * 使用门槛；0表示无门槛
     */
    @TableField(value = "min_point")
    @ApiModelProperty(value="使用门槛；0表示无门槛")
    private BigDecimal minPoint;

    /**
     * 优惠卷使用开始时间
     */
    @TableField(value = "gmt_start")
    @ApiModelProperty(value="优惠卷使用开始时间")
    private Date gmtStart;

    /**
     * 优惠券使用结束
     */
    @TableField(value = "gmt_end")
    @ApiModelProperty(value="优惠券使用结束")
    private Date gmtEnd;

    /**
     * 使用类型：0->全场通用；1->指定分类；2->指定商品
     */
    @TableField(value = "use_type")
    @ApiModelProperty(value="使用类型：0->全场通用；1->指定分类；2->指定商品")
    private Integer useType;

    /**
     * 优惠券使用规则
     */
    @TableField(value = "rule")
    @ApiModelProperty(value="优惠券使用规则")
    private String rule;

    /**
     * 相应活动的url地址
     */
    @TableField(value = "activity_url")
    @ApiModelProperty(value="相应活动的url地址")
    private String activityUrl;

    /**
     * 优惠券分类: 0->满减券 ；1折扣券 2 立减券
     */
    @TableField(value = "category")
    @ApiModelProperty(value="优惠券分类: 0->满减券 ；1折扣券 2 立减券")
    private Integer category;

    /**
     * 用户头像
     */
    @TableField(value = "avatar")
    @ApiModelProperty(value="用户头像")
    private String avatar;

    @TableField(value = "name")
    @ApiModelProperty(value="")
    private String name;

    /**
     * 优惠券介绍
     */
    @TableField(value = "intro")
    @ApiModelProperty(value="优惠券介绍")
    private String intro;

    public static final String COL_ID = "id";

    public static final String COL_COUPON_ID = "coupon_id";

    public static final String COL_USER_ID = "user_id";

    public static final String COL_COUPON_CODE = "coupon_code";

    public static final String COL_USER_NICKNAME = "user_nickname";

    public static final String COL_GET_TYPE = "get_type";

    public static final String COL_USE_STATUS = "use_status";

    public static final String COL_GMT_USE = "gmt_use";

    public static final String COL_ORDER_ID = "order_id";

    public static final String COL_ORDER_SN = "order_sn";

    public static final String COL_IS_DELETE = "is_delete";

    public static final String COL_GMT_CREATE = "gmt_create";

    public static final String COL_GMT_MODIFIED = "gmt_modified";

    public static final String COL_AMOUNT = "amount";

    public static final String COL_MIN_POINT = "min_point";

    public static final String COL_GMT_START = "gmt_start";

    public static final String COL_GMT_END = "gmt_end";

    public static final String COL_USE_TYPE = "use_type";

    public static final String COL_RULE = "rule";

    public static final String COL_ACTIVITY_URL = "activity_url";

    public static final String COL_CATEGORY = "category";

    public static final String COL_AVATAR = "avatar";

    public static final String COL_NAME = "name";

    public static final String COL_INTRO = "intro";

    /**
     * @return id
     */
    public Long getId() {
        return id;
    }

    /**
     * @param id
     */
    public void setId(Long id) {
        this.id = id;
    }

    /**
     * @return coupon_id
     */
    public Long getCouponId() {
        return couponId;
    }

    /**
     * @param couponId
     */
    public void setCouponId(Long couponId) {
        this.couponId = couponId;
    }

    /**
     * @return user_id
     */
    public Long getUserId() {
        return userId;
    }

    /**
     * @param userId
     */
    public void setUserId(Long userId) {
        this.userId = userId;
    }

    /**
     * 获取优惠码
     *
     * @return coupon_code - 优惠码
     */
    public String getCouponCode() {
        return couponCode;
    }

    /**
     * 设置优惠码
     *
     * @param couponCode 优惠码
     */
    public void setCouponCode(String couponCode) {
        this.couponCode = couponCode;
    }

    /**
     * 获取领取人昵称
     *
     * @return user_nickname - 领取人昵称
     */
    public String getUserNickname() {
        return userNickname;
    }

    /**
     * 设置领取人昵称
     *
     * @param userNickname 领取人昵称
     */
    public void setUserNickname(String userNickname) {
        this.userNickname = userNickname;
    }

    /**
     * 获取获取类型：0->后台赠送；1->主动获取
     *
     * @return get_type - 获取类型：0->后台赠送；1->主动获取
     */
    public Integer getGetType() {
        return getType;
    }

    /**
     * 设置获取类型：0->后台赠送；1->主动获取
     *
     * @param getType 获取类型：0->后台赠送；1->主动获取
     */
    public void setGetType(Integer getType) {
        this.getType = getType;
    }

    /**
     * 获取使用状态：0->未使用；2->已使用；4->已过期
     *
     * @return use_status - 使用状态：0->未使用；2->已使用；4->已过期
     */
    public Integer getUseStatus() {
        return useStatus;
    }

    /**
     * 设置使用状态：0->未使用；2->已使用；4->已过期
     *
     * @param useStatus 使用状态：0->未使用；2->已使用；4->已过期
     */
    public void setUseStatus(Integer useStatus) {
        this.useStatus = useStatus;
    }

    /**
     * 获取使用时间
     *
     * @return gmt_use - 使用时间
     */
    public Date getGmtUse() {
        return gmtUse;
    }

    /**
     * 设置使用时间
     *
     * @param gmtUse 使用时间
     */
    public void setGmtUse(Date gmtUse) {
        this.gmtUse = gmtUse;
    }

    /**
     * 获取订单编号
     *
     * @return order_id - 订单编号
     */
    public Long getOrderId() {
        return orderId;
    }

    /**
     * 设置订单编号
     *
     * @param orderId 订单编号
     */
    public void setOrderId(Long orderId) {
        this.orderId = orderId;
    }

    /**
     * 获取订单号码
     *
     * @return order_sn - 订单号码
     */
    public String getOrderSn() {
        return orderSn;
    }

    /**
     * 设置订单号码
     *
     * @param orderSn 订单号码
     */
    public void setOrderSn(String orderSn) {
        this.orderSn = orderSn;
    }

    /**
     * 获取删除状态【0->未删除；1->已删除】
     *
     * @return is_delete - 删除状态【0->未删除；1->已删除】
     */
    public Byte getIsDelete() {
        return isDelete;
    }

    /**
     * 设置删除状态【0->未删除；1->已删除】
     *
     * @param isDelete 删除状态【0->未删除；1->已删除】
     */
    public void setIsDelete(Byte isDelete) {
        this.isDelete = isDelete;
    }

    /**
     * @return gmt_create
     */
    public Date getGmtCreate() {
        return gmtCreate;
    }

    /**
     * @param gmtCreate
     */
    public void setGmtCreate(Date gmtCreate) {
        this.gmtCreate = gmtCreate;
    }

    /**
     * @return gmt_modified
     */
    public Date getGmtModified() {
        return gmtModified;
    }

    /**
     * @param gmtModified
     */
    public void setGmtModified(Date gmtModified) {
        this.gmtModified = gmtModified;
    }

    /**
     * 获取金额/折扣
     *
     * @return amount - 金额/折扣
     */
    public BigDecimal getAmount() {
        return amount;
    }

    /**
     * 设置金额/折扣
     *
     * @param amount 金额/折扣
     */
    public void setAmount(BigDecimal amount) {
        this.amount = amount;
    }

    /**
     * 获取使用门槛；0表示无门槛
     *
     * @return min_point - 使用门槛；0表示无门槛
     */
    public BigDecimal getMinPoint() {
        return minPoint;
    }

    /**
     * 设置使用门槛；0表示无门槛
     *
     * @param minPoint 使用门槛；0表示无门槛
     */
    public void setMinPoint(BigDecimal minPoint) {
        this.minPoint = minPoint;
    }

    /**
     * 获取优惠卷使用开始时间
     *
     * @return gmt_start - 优惠卷使用开始时间
     */
    public Date getGmtStart() {
        return gmtStart;
    }

    /**
     * 设置优惠卷使用开始时间
     *
     * @param gmtStart 优惠卷使用开始时间
     */
    public void setGmtStart(Date gmtStart) {
        this.gmtStart = gmtStart;
    }

    /**
     * 获取优惠券使用结束
     *
     * @return gmt_end - 优惠券使用结束
     */
    public Date getGmtEnd() {
        return gmtEnd;
    }

    /**
     * 设置优惠券使用结束
     *
     * @param gmtEnd 优惠券使用结束
     */
    public void setGmtEnd(Date gmtEnd) {
        this.gmtEnd = gmtEnd;
    }

    /**
     * 获取使用类型：0->全场通用；1->指定分类；2->指定商品
     *
     * @return use_type - 使用类型：0->全场通用；1->指定分类；2->指定商品
     */
    public Integer getUseType() {
        return useType;
    }

    /**
     * 设置使用类型：0->全场通用；1->指定分类；2->指定商品
     *
     * @param useType 使用类型：0->全场通用；1->指定分类；2->指定商品
     */
    public void setUseType(Integer useType) {
        this.useType = useType;
    }

    /**
     * 获取优惠券使用规则
     *
     * @return rule - 优惠券使用规则
     */
    public String getRule() {
        return rule;
    }

    /**
     * 设置优惠券使用规则
     *
     * @param rule 优惠券使用规则
     */
    public void setRule(String rule) {
        this.rule = rule;
    }

    /**
     * 获取相应活动的url地址
     *
     * @return activity_url - 相应活动的url地址
     */
    public String getActivityUrl() {
        return activityUrl;
    }

    /**
     * 设置相应活动的url地址
     *
     * @param activityUrl 相应活动的url地址
     */
    public void setActivityUrl(String activityUrl) {
        this.activityUrl = activityUrl;
    }

    /**
     * 获取优惠券分类: 0->满减券 ；1折扣券 2 立减券
     *
     * @return category - 优惠券分类: 0->满减券 ；1折扣券 2 立减券
     */
    public Integer getCategory() {
        return category;
    }

    /**
     * 设置优惠券分类: 0->满减券 ；1折扣券 2 立减券
     *
     * @param category 优惠券分类: 0->满减券 ；1折扣券 2 立减券
     */
    public void setCategory(Integer category) {
        this.category = category;
    }

    /**
     * 获取用户头像
     *
     * @return avatar - 用户头像
     */
    public String getAvatar() {
        return avatar;
    }

    /**
     * 设置用户头像
     *
     * @param avatar 用户头像
     */
    public void setAvatar(String avatar) {
        this.avatar = avatar;
    }

    /**
     * @return name
     */
    public String getName() {
        return name;
    }

    /**
     * @param name
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * 获取优惠券介绍
     *
     * @return intro - 优惠券介绍
     */
    public String getIntro() {
        return intro;
    }

    /**
     * 设置优惠券介绍
     *
     * @param intro 优惠券介绍
     */
    public void setIntro(String intro) {
        this.intro = intro;
    }
}